স্প্রিং সিকিউরিটি আপনার প্রোজেক্টে অন্তর্ভুক্ত করতে হলে Maven বা Gradle বিল্ড টুল ব্যবহার করতে পারেন। নীচে উভয় পদ্ধতির জন্য উদাহরণ দেওয়া হয়েছে:
১. Maven দিয়ে Spring Security অন্তর্ভুক্ত করা
প্রয়োজনীয় নির্ভরতা (Dependencies)
আপনার pom.xml ফাইলে স্প্রিং সিকিউরিটি নির্ভরতা যুক্ত করুন:
<dependencies>
<!-- Spring Boot Starter Security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- Optional: Thymeleaf (for custom login pages) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
ব্যাখ্যা:
spring-boot-starter-securityস্প্রিং সিকিউরিটির সমস্ত মূল বৈশিষ্ট্য অন্তর্ভুক্ত করে।- যদি আপনি কাস্টম লগইন পেজ তৈরি করতে চান, তাহলে
thymeleafলাইব্রেরি অন্তর্ভুক্ত করতে পারেন।
Maven কমান্ড চালান
আপনার প্রোজেক্টের ডিপেন্ডেন্সি ডাউনলোড করার জন্য Maven কমান্ড চালান:
mvn clean install
২. Gradle দিয়ে Spring Security অন্তর্ভুক্ত করা
প্রয়োজনীয় নির্ভরতা (Dependencies)
আপনার build.gradle ফাইলে স্প্রিং সিকিউরিটির নির্ভরতা যুক্ত করুন:
dependencies {
// Spring Boot Starter Security
implementation 'org.springframework.boot:spring-boot-starter-security'
// Optional: Thymeleaf (for custom login pages)
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}
ব্যাখ্যা:
implementationকিওয়ার্ড ব্যবহার করে ডিপেন্ডেন্সি যোগ করা হয়।- কাস্টমাইজড লগইন পেজের জন্য
thymeleafঅন্তর্ভুক্ত করুন।
Gradle কমান্ড চালান
ডিপেন্ডেন্সি ডাউনলোড এবং প্রোজেক্ট রিফ্রেশ করার জন্য Gradle কমান্ড চালান:
gradle build
৩. ডিপেন্ডেন্সি অন্তর্ভুক্ত করার পর কি হবে?
প্রাথমিক কনফিগারেশন
- Maven/Gradle দিয়ে স্প্রিং সিকিউরিটি অন্তর্ভুক্ত করার পরে, এটি ডিফল্ট সিকিউরিটি যোগ করবে।
- যখন আপনি আপনার অ্যাপ্লিকেশন চালাবেন:
- প্রতিটি URL অ্যাক্সেস করার জন্য লগইন পেজ দেখা যাবে।
ডিফল্ট ইউজারনেম
userএবং একটি জেনারেটেড পাসওয়ার্ড কনসোলে প্রদর্শিত হবে। উদাহরণ:Using generated security password: 3a1b2c3d4e
ডিফল্ট পাসওয়ার্ড নিষ্ক্রিয় করা
যদি আপনি কাস্টম ইউজার এবং পাসওয়ার্ড যুক্ত করতে চান, তাহলে একটি SecurityConfig ক্লাস তৈরি করুন:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(auth -> auth
.anyRequest().authenticated()
)
.formLogin();
return http.build();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder(); // Password Encryption
}
}
উপসংহার
- Maven বা Gradle এর মাধ্যমে স্প্রিং সিকিউরিটি সহজেই আপনার প্রোজেক্টে যোগ করা যায়।
- ডিফল্ট সেটআপ আপনাকে নিরাপত্তার একটি বেসলাইন সরবরাহ করে, যা আপনি কাস্টমাইজ করতে পারবেন।
- আপনার প্রয়োজন অনুযায়ী কাস্টম অথেনটিকেশন/অথরাইজেশন সেটআপ করার জন্য কনফিগারেশন কাস্টমাইজ করুন।
Read more